Array.prototype.quickSort = function() {
  /**
   * 快速排序
   * @param {Array} array 待排序数组
   */
  const qsort = array =>
    array.length > 1
      ? [
          ...qsort(array.filter((_, i) => _ <= array[0] && i !== 0)),
          array[0],
          ...qsort(array.filter(_ => _ > array[0])),
        ]
      : array;

  return qsort(this);
};

console.log([5, 4, 3, 2, 1].quickSort()); // Array(5) [1, 2, 3, 4, 5]
